package com.hsgene.consumables.service;

import com.hsgene.common.util.result.ApiResult;
import com.hsgene.common.util.result.NullObject;
import com.hsgene.common.util.support.Pagination;
import com.hsgene.consumables.condition.GoodsCondition;
import com.hsgene.consumables.domain.ConsumablesInventoryInfo;
import com.hsgene.consumables.dto.ConsumablesInventoryInfoDto;
import com.hsgene.consumables.dto.peanut.GoodsKeywordsDto;
import com.hsgene.product.domain.GeneticCommodityCategory;

import java.util.List;

public interface ConsumablesInventoryService {
    /**
     * 添加库存
     *
     * @param inventoryInfo 信息对象
     * @return
     */
    int addInventoryInfo(ConsumablesInventoryInfo inventoryInfo);

    /**
     * 查询库存列表
     *
     * @return
     */
    Pagination<ConsumablesInventoryInfoDto> queryInventoryInfo(GoodsCondition condition);

    /**
     * 删除信息
     *
     * @param id id
     * @return
     */
    ApiResult<ConsumablesInventoryInfoDto> deleteInventoryInfo(String id);

    /**
     * 更新信息
     *
     * @param inventoryInfo 数据信息
     * @return
     */
    boolean updateInventoryInfo(ConsumablesInventoryInfo inventoryInfo);

    ConsumablesInventoryInfoDto getInventoryDetais(String id);

    /**
     * 批量删除耗材信息
     * @param list
     * @return
     */
    ApiResult<ConsumablesInventoryInfo> deleteInventoryInfoMore(List<ConsumablesInventoryInfo> list);

    /**
     * 获取所有耗材
     * @return
     */
    ApiResult<List<ConsumablesInventoryInfoDto>> getInventoryInfoAll();

    /**
     * 根据ids获取库存
     * @param ids
     * @return
     */
    ApiResult<List<ConsumablesInventoryInfoDto>> getInventoryDetaisByIds(String ids);

    /**
     * 根据关键字搜索套餐(花生仁)
     * @param keywords
     * @return
     */
    ApiResult<List<GoodsKeywordsDto>> getInventoryInfoByKeywords(String keywords);

    /**
     * 根据名称查询耗材
     * @param name
     * @return
     */
    ApiResult<ConsumablesInventoryInfoDto> getByGoodsName(String name);
/**
 *根据id查找耗材
 * @author FX
 * @date 2018/10/30 10:47
 * @param id
 * @return
 */
    ApiResult<ConsumablesInventoryInfoDto> getById(String id);
}
